home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / heat / reinst.cfg < prev    next >
Text File  |  1991-10-18  |  5KB  |  198 lines

  1. /*********************************************************************
  2. /*
  3. /*    "ReInst.cfg" : HEatを再インストールする
  4. /*
  5. /*    Last Update 1991/08/12        By TARO
  6. /*
  7. /*    TABSIZE = 4
  8. /*
  9.  
  10. /*--------------------------------------------------------------------
  11. /*    1ファイルコピーする
  12. /*
  13. r_copy {
  14.     echo("    COPY \(FILE) : ")
  15.     file_copy("\(HOME)\(FILE)","\(DIR)\\\(FILE)")
  16.     if ( VAL = 0 )
  17.     {    echo("\n")
  18.         return    (0)
  19.     } else
  20.     {    echo("ERROR!!\n")
  21.         return    (-1)
  22.     }
  23. }
  24.  
  25. r_err {
  26.     wait(5)
  27.     wind_close()
  28. }
  29.  
  30. /*--------------------------------------------------------------------
  31. /*    アイテム登録
  32. /*
  33. r_sub {
  34.     echo("オプション設定ファイル : \(OPT_FILE)\n")
  35.     strmid("DRV",DIR,0,1)                /* ドライブ取り出し
  36.     INF = "\(DRV):\\TMENU.INF"            /* "TMENU.INF"
  37.     ICN = "\(DRV):\\TMENU.ICN"            /* "TMENU.ICN"
  38.  
  39.     echo("    open \(INF) : ")
  40.     fopen( INF, "ab+" )                    /* ファイルオープン
  41.     PATH = VAL;
  42.     if ( PATH < 0 )
  43.     {    /* ファイル・オープン・エラー
  44.         echo(" ERROR !!")
  45.         return
  46.     }
  47.     ICON = "00"                            /* 登録アイコン番号    */
  48.     D1 = "48 45 41 54 20 20 20 20 2E 45 58 50 20 00 \(ICON) 00"        /* HEAT     .EXP ...  
  49.     D2 = "00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20"            /* ........ ......    
  50.     D3 = "20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20"            /*                    
  51.     D4 = "20 20 20 82 67 82 64 61 74 20 \(OPT_M) 4D 00 20 20 20"    /*    HEa t ?M.     
  52.     D = "\(D1) \(D2) \(D3) \(D4)"
  53.     fwrite(D,64,PATH)
  54.  
  55.     strmid("STR",DIR,2)                    /* ドライブを除いたパス名取り出し
  56.     D = "\(STR)\\HEAT.EXP -chd \(STR) @\(STR)\\\(OPT_FILE)"
  57.     fputs( D, PATH)
  58.     strlen(D)
  59.     LEN = VAL;
  60.     if ( LEN < 64 )
  61.     {    fwrite("00",1,PATH)
  62.         inc(LEN)
  63.         /* 64バイトに達するまでスペースを書き込む */
  64.         while ( LEN < 64 )
  65.         {    fputs(" ",PATH)
  66.             inc(LEN)
  67.         }
  68.     }
  69.     fclose(PATH)
  70.     echo("\n")
  71.  
  72.     /***************************************************************
  73.     /*    アイコンデータの書き込み
  74.     /*
  75.     mosget("sw","x","y")
  76.     menu_yes_no(x,y,C_CYAN,"アイコンデータを書き込みますか?")
  77.     if ( VAL < 1 )
  78.     {    return
  79.     }
  80.     /*--------------------------------------------------------------
  81.     /*    アイコンデータ
  82.     /*
  83.     D0 = "00 00 00 00 00 00 00 00 FF FF FF FC D5 55 55 54"
  84.     D1 = "A0 00 AA AF CC BC 55 57 AC B0 AA AF CF B8 55 57"
  85.     D2 = "AC B0 AA AF CC BC 55 57 A0 00 AA AF D5 55 55 57"
  86.     D3 = "80 00 00 07 BF FF FF F7 AA FB 95 37 AB CB B5 57"
  87.     D4 = "A2 A8 95 57 AA EA B5 37 AA 8A 91 77 BF FF FF F7"
  88.     D5 = "BC A1 FB F7 BC A7 3B F7 BC A7 D1 F7 BC 23 1B F7"
  89.     D6 = "BC A7 5B F7 BC A1 29 F7 BF FF FF F7 80 00 00 07"
  90.     D7 = "FF FF FF FF 1F FF FF FF 1F FF FF FF 00 00 00 00"
  91.     D = "\(D0) \(D1) \(D2) \(D3) \(D4) \(D5) \(D6) \(D7)"
  92.  
  93.     echo("    open \(ICN) : ")
  94.     filechk( ICN, 0x06,"DMY")
  95.     if ( VAL = 0 )
  96.     {    /* 書換え    */
  97.         fopen( ICN, "rb+" )
  98.     } else
  99.     {    /* 新奇作成    */
  100.         fopen( ICN, "wb" )
  101.     }
  102.     PATH = VAL;
  103.     if ( PATH < 0 )
  104.     {    echo(" ERROR !!")
  105.         return
  106.     }
  107.     fseek(PATH,0,0)
  108.     fwrite( D, 128, PATH)
  109.     fclose(PATH)
  110. }
  111.  
  112. main {
  113.     wind_close()                        /* ウィンドゥクローズ
  114.     wind_init()                            /* ウィンドゥ初期化
  115.     wind_open2(" HEat 再インストール・ユーティリティ")
  116.     mosget("sw","x","y")                /* マウス状態の取得
  117.  
  118.     /* ディレクトリ名の入力    */
  119.     DIR = ""
  120.     menu_input("DIR",80,x,y,C_CYAN,"インストール先のドライブ・ディレクトリを入力してください。")
  121.     if ( VAL < 0 )                        /* キャンセル・チェック
  122.     {    return
  123.     } else if ( DIR = "" )
  124.     {    return
  125.     }
  126.     echo(" インストール先ディレクトリ : \(DIR)\n")
  127.     strmid("C",DIR,1,1)
  128.     if ( C ! ":" )
  129.     {    echo(" ドライブが指定されていません。\n")
  130.         r_err()
  131.         return
  132.     }
  133.     filechk(DIR,0x10,"DMY")            /* ディレクトリは既に存在するか?
  134.     if ( VAL ! 0 )
  135.     {    /* ディレクトリ作成    */
  136.         echo("MKDIR \(DIR)")
  137.         mkdir(DIR)
  138.         if ( VAL ! 0 )
  139.         {    echo(" : ERROR!!\n")
  140.             r_err()
  141.             return;
  142.         }
  143.         echo("\n")
  144.     }
  145.  
  146.     /* 複写ファイル    */
  147.     D1 = "HEat.exp HEat_2M.opt HEat_3M.opt HEat_4m.opt"
  148.     D2 = "HEat.cfg console.cfg keymacro.cfg heplay.cfg metakey.cfg"
  149.     D3 = "ReInst.cfg term.cfg editcstm.exe editkey.def"
  150.     FILEQUE = "\(D1) \(D2) \(D3)"
  151.     bk = 0;
  152.     while ( bk = 0 )
  153.     {    if ( FILEQUE = "" )
  154.         {    bk = 1;                        /* ループ終了
  155.         } else
  156.         {    FILE - FILEQUE;                /* キューバッファから取り出し
  157.             shift(FILEQUE)
  158.             r_copy()                    /* ファイル複写
  159. #            if ( VAL ! 0 )
  160. #            {    r_err()
  161. #                return;
  162. #            }
  163.         }
  164.     }
  165.     mosget("sw","x","y")                /* マウス状態の取得
  166.     menu_yes_no(x,y,C_CYAN,"アイテム登録しますか?")
  167.     if ( VAL > 0 )
  168.     {    /* アイテム登録    */
  169.         echo("    <<<アイテム登録>>>\n")
  170.         /*----------------------------------------------------------
  171.         /* オプション設定ファイルの選択
  172.         /*
  173.         menu2_select(x,y,"オプション設定ファイルを選択してください",
  174.             "2:HEat_2M.opt  2MB メモリ用 ",
  175.             "3:HEat_3M.opt  3MB メモリ用",
  176.             "4:HEat_4M.opt  4MB メモリ用"
  177.         )
  178.         if ( VAL = 0 )
  179.         {    OPT_FILE = "HEat_2M.opt"
  180.             OPT_M = "32"
  181.             r_sub()
  182.         } else if ( VAL = 1 )
  183.         {    OPT_FILE = "HEat_3M.opt"
  184.             OPT_M = "33"
  185.             r_sub()
  186.         } else if ( VAL = 2 )
  187.         {    OPT_FILE = "HEat_4M.opt"
  188.             OPT_M = "34"
  189.             r_sub()
  190.         }
  191.     }
  192.  
  193.     echo("\n**** COMPLETED *****")
  194.     wait(5)
  195.     wind_close()
  196. }
  197.  
  198.